package com.pearadmin.pro.modules.weixin.service;


import com.alibaba.fastjson.JSONObject;
import com.pearadmin.pro.common.web.domain.Result;
import com.pearadmin.pro.modules.weixin.dto.apply.ApplyeventDTO;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface EnterpriseWinXinService {

    /**
     * 获取 access_token
     * @return {
     *    "errcode": 0,
     *    "errmsg": "ok",
     *    "access_token": "accesstoken000001",
     *    "expires_in": 7200
     * }
     */
    String getToken();

    /**
     * 获取网页授权链接
     * @param redirect_uri 授权后重定向的回调链接地址
     * @param state 重定向后会带上state参数，企业可以填写a-zA-Z0-9的参数值，
     * @return
     */
    String getAuthorizeUrl(String redirect_uri,String state);

    /**
     * 获取访问用户身份
     * @param code 前端返回
     * @return
     */
    JSONObject getUserInfo(String code);


    /**
     * 获取员工信息
     * @param userid
     *  @return
     */
    JSONObject getInfo(String userid);

    /**
     * 企业微信登录
     * @param userid
     *  @return
     */
    Result Login(String userid);

    void Callback(HttpServletRequest request, HttpServletResponse response);


    /**
     * 提交审批
     * @return 审批表单编号
     */
    String applyevent(ApplyeventDTO applyeventDTO);


}
